import libnum
import uuid
from Crypto.Util.number import *

flag = "flag{" + str(uuid.uuid4()) + "}"
m = libnum.s2n(flag)

e = 65537
p = getPrime(1024)
q = getPrime(1024)
n = p * q
c = pow(m, e, n)
hint = pow(2022 * p + 2023, q, n)
print(f'n={n}')
print(f'c={c}')
print(f'hint={hint}')
n=21416963757713654113637330832366280157858188907804541751675626741054192182630282365583362051506715277802431926758953595137712340449517921821550782285533454055096878038925918742075368416433738620661970643661526676451480668404444883290438014195549285218097330290461460675517446600316890932394000549048035014912753611131367287817573356487463267924642283060198966225091952045891905607589399168939700656980028369815676755429312940640928959668866104470571816599442498907330177968814210144212031894716710238845295284570636666913197572264786364119894433684650490412994958353115295519846557190530639109368090030366386775351141
c=2575972560952556262190120487331587959208087136030944474806277413827521331911116424971051171184144711437906500646140622103683138283720643167094074706560655078498403241772990112688313640068297463275926869268469081834293222999013240779101269054110071863550139819681645254253677939416982452932344365288815914918930101294970456066139718302890960166811636026367184900733885346460489688815544065670776121075802365063546998721698063037201405848725181478742389288653827803050962462445105439036797675370337285713573535657238222750437879491538744543084197988588267150438984173920887060067670543759483839788544699461958433969208
hint=7479581163754989359901168259606795321170545522174533370466999403195317735281141754528480086038803020174402512837738487346005364932610104967304511754736419851357620828380090931257468322567798810430045618770529500958405498635150433942029685554328017215799857488846526242460992286318344582320112076153864105588731330130138316439880700133500959077032805174377125411153029118244155401636100602143672619751409603641198629963614747525407325621742801646722911949762547329142386635579102765771798540375489016005942005663055382282801636767269297364339326156296212271839680017628434104785615565204653031522600570559852305637705
